Java – hibernate annotations compilation error
•
Java
When I tried to compile a dto file with hibernate annotations to map to DB, I encountered a strange problem When it fails, there is a strange message log below
import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.TableGenerator; import javax.persistence.Version; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; /** * @author othmanelmoulat * */ @Entity @TableGenerator(name = "cash_GEN",table = "jbilling_seqs",pkColumnName = "name",valueColumnName = "next_id",pkColumnValue = "cash",allocationSize = 100) @Table(name = "cash") public class CashDTO implements Serializable { int id; BigDecimal amount; Date date; int versionNum; public CashDTO() { super(); // TODO Auto-generated constructor stub } public CashDTO(int id) { super(); this.id = id; } public CashDTO(int id,BigDecimal amount,Date date) { super(); this.id = id; this.amount = amount; this.date = date; } public CashDTO(int id,Date date,int versionNum) { super(); this.id = id; this.amount = amount; this.date = date; this.versionNum = versionNum; } @Id @GeneratedValue(strategy = GenerationType.TABLE,generator = "cash_GEN") @Column(name = "id",unique = true,nullable = false) public int getId() { return this.id; } public void setId(int id) { this.id = id; } @Column(name = "amount",nullable = false) public BigDecimal getAmount() { return amount; } public void setAmount(BigDecimal amount) { this.amount = amount; } @Column(name = "date",nullable = false) public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } @Version @Column(name = "OPTLOCK") public int getVersionNum() { return versionNum; } public void setVersionNum(int versionNum) { this.versionNum = versionNum; } }
Error log:
Buildfile: /Users/othmanelmoulat/Documents/workspace/jbilling/src/build.xml init: [delete] Deleting directory /Users/othmanelmoulat/Documents/workspace/jbilling/src/build/test-results [mkdir] Created dir: /Users/othmanelmoulat/Documents/workspace/jbilling/src/build/test-results compile_api: [javac] /Users/othmanelmoulat/Documents/workspace/jbilling/src/build.xml:272: warning: 'includeantruntime' was not set,defaulting to build.sysclasspath=last; set to false for repeatable builds findRevision: jar_api: [jar] Building jar: /Users/othmanelmoulat/Documents/workspace/jbilling/src/build/deploy/jbilling_api.jar test-ws: [javac] /Users/othmanelmoulat/Documents/workspace/jbilling/src/build.xml:457: warning: 'includeantruntime' was not set,defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 7 source files to /Users/othmanelmoulat/Documents/workspace/jbilling/src/build/test [javac] com/sapienter/jbilling/server/user/db/CashDTO.class(com/sapienter/jbilling/server/user/db:CashDTO.class): warning: Cannot find annotation method 'name()' in type 'javax.persistence.TableGenerator': class file for javax.persistence.TableGenerator not found [javac] com/sapienter/jbilling/server/user/db/CashDTO.class(com/sapienter/jbilling/server/user/db:CashDTO.class): warning: Cannot find annotation method 'table()' in type 'javax.persistence.TableGenerator' [javac] com/sapienter/jbilling/server/user/db/CashDTO.class(com/sapienter/jbilling/server/user/db:CashDTO.class): warning: Cannot find annotation method 'pkColumnName()' in type 'javax.persistence.TableGenerator' [javac] com/sapienter/jbilling/server/user/db/CashDTO.class(com/sapienter/jbilling/server/user/db:CashDTO.class): warning: Cannot find annotation method 'valueColumnName()' in type 'javax.persistence.TableGenerator' [javac] com/sapienter/jbilling/server/user/db/CashDTO.class(com/sapienter/jbilling/server/user/db:CashDTO.class): warning: Cannot find annotation method 'pkColumnValue()' in type 'javax.persistence.TableGenerator' [javac] com/sapienter/jbilling/server/user/db/CashDTO.class(com/sapienter/jbilling/server/user/db:CashDTO.class): warning: Cannot find annotation method 'allocationSize()' in type 'javax.persistence.TableGenerator' [javac] com/sapienter/jbilling/server/user/db/CashDTO.class(com/sapienter/jbilling/server/user/db:CashDTO.class): warning: Cannot find annotation method 'name()' in type 'javax.persistence.Table': class file for javax.persistence.Table not found [javac] com/sapienter/jbilling/server/user/db/CashDTO.class(com/sapienter/jbilling/server/user/db:CashDTO.class): warning: Cannot find annotation method 'strategy()' in type 'javax.persistence.GeneratedValue': class file for javax.persistence.GeneratedValue not found [javac] An exception has occurred in the compiler (1.6.0_24). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. [javac] com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.persistence.GenerationType not found BUILD Failed /Users/othmanelmoulat/Documents/workspace/jbilling/src/build.xml:457: Compile Failed; see the compiler error output for details. Total time: 5 seconds
Solution
Sounds like javax The class of persistence is not in the classpath of javac task of test WS ant target
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码