Java 部署期间JBoss hibernate异常

Java 部署期间JBoss hibernate异常,java,jboss,compilation,Java,Jboss,Compilation,我有几个实体的应用程序。在JBoss AS7上部署时,出现以下异常: 我在使用idea 11.1.3;ubuntu 12.04;maven 3.0.3,如果需要,我可以显示项目的pom文件 17:24:00,770 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.persistenceunit."kladr.ear/kladr-ejb-1.0-S

我有几个实体的应用程序。在JBoss AS7上部署时,出现以下异常:

我在使用idea 11.1.3;ubuntu 12.04;maven 3.0.3,如果需要,我可以显示项目的pom文件

17:24:00,770 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.persistenceunit."kladr.ear/kladr-ejb-1.0-SNAPSHOT.jar#primary": org.jboss.msc.service.StartException in service jboss.persistenceunit."kladr.ear/kladr-ejb-1.0-SNAPSHOT.jar#primary": Failed to start service
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_35]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_35]
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_35]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: primary] Unable to build EntityManagerFactory
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:85)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    ... 3 more
Caused by: org.hibernate.MappingException: Duplicate property mapping of version found in com.kmware.ttk.kladr.model.KladrSettings
    at org.hibernate.mapping.PersistentClass.checkPropertyDuplication(PersistentClass.java:486)
    at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:476)
    at org.hibernate.mapping.RootClass.validate(RootClass.java:268)
    at org.hibernate.cfg.Configuration.validate(Configuration.java:1287)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1729)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
    ... 9 more

它是什么意思
重复属性映射

它看起来像属性
私有长版本。从其中一个中删除它,它应该可以工作。

它看起来像属性
长版本。从其中一个对象中删除它,它应该可以工作。

基类RQObject是否也有版本属性?是。KLadrSettings覆盖它基类RQObject是否也有版本属性?是。Kladr你的回答对meSo很有帮助我做不到这样的事:用SomeProperty+getter/setter创建超级类,然后扩展这个超类,在子类中再次重写这个someProperty,例如,在从同一个超类派生的不同子类中有不同的Bean验证约束?你的回答对meSo非常有帮助,我不能这样做:用someProperty+getter/setter创建超类,然后扩展这个超类,在子类中再次重写这个someProperty,例如,在从同一个超类派生的不同子类中有不同的Bean验证约束?
@Entity
@Table(name = "KLADR_SETTINGS",schema ="KLADR")
public class KladrSettings extends RQObject  implements Serializable{
    private static final long serialVersionUID = -8557672721736414960L;
    private String id;
    private String url;
    private String pathName;
    private String namePackage;
    private int sizeArchive;
    private Long version;

    @Id
    @Column(name = "KLADR_SETTINGS_ID")
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }

    @Column(name = "KLADR_SETTINGS_URL")
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }

    @Column(name = "KLADR_SETTINGS_PATHNAME")
    public String getPathName() {
        return pathName;
    }
    public void setPathName(String pathName) {
        this.pathName = pathName;
    }

    @Column(name = "KLADR_SETTINGS_NAMEPACKAGE")
    public String getNamePackage() {
        return namePackage;
    }
    public void setNamePackage(String namePackage) {
        this.namePackage = namePackage;
    }
    @Column(name = "KLADR_SETTINGS_SIZE_ARCHIVE")
    public int getSizeArchive() {
        return sizeArchive;
    }
    public void setSizeArchive(int sizeArchive) {
        this.sizeArchive = sizeArchive;
    }

    @Column(name = "KLADR_SETTINGS_VERSION")
    public Long getVersion() {
        return version;
    }
    public void setVersion(Long version) {
        this.version = version;
    }


    @Override public PortableEntity toPortableEntity(boolean loadCollections, boolean loadNested) {

        PKladrSettings pentity = new PKladrSettings(getId(), getName(), getVersion(),
                getDeleted());

        pentity.setId(getId());
        pentity.setNamePackage(getNamePackage());
        pentity.setPathName(getPathName());
        pentity.setSizeArchive(getSizeArchive());
        pentity.setUrl(getUrl());
        pentity.setVersion(getVersion());

        return pentity;

    }

    @Override public void fromPortable(PortableEntity pentity) {
        PKladrSettings input = null;
        if (pentity instanceof PKladrSettings){
            input = (PKladrSettings) pentity;
        }
        if(input!=null){
            this.setId(input.getId());
            this.setName(input.getDisplayName());
            this.setVersion(input.getVersion());
            this.setDeleted(input.isDeleted());

            this.setNamePackage(input.getNamePackage());
            this.setPathName(input.getPathName());
            this.setSizeArchive(input.getSizeArchive());
            this.setUrl(input.getUrl());

        }
    }

    @Override public void loadLazyCollections() {

    }
}