我正在使用ecplise构建一个Web Applikation。我正在使用Spring和Hibernate。它工作正常,直到我添加了一个包含额外列的关系表的多对多关系。
堆栈跟踪:
161 [main] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
5417 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Bean 'myExecutor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
5435 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService
5435 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Bean 'myExecutor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
5498 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'myScheduler'
5500 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Bean 'myScheduler' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
5536 [main] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1484fc8d: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,compncompanyDAO,comptcompanyTypeDAO,contycountryDAO,curcycurrencyDAO,descpdescriptionDAO,descpexpfilesDAO,descpexploitationDAO,descpexpnatureDAO,descpexpstatusDAO,descpforegroundDAO,descriptionpropertyDAO,descriptiontypeDAO,fdatyfundingauthorityDAO,foregrpropertyDAO,perfnpersonalfunctionDAO,perslpersonalDAO,phasphaseDTO,planplanDAO,prgrmprogramDAO,projtprojectDAO,propdatatypesDAO,proppropertiesDAO,ptypepartnertypeDAO,ptypeplantypeDAO,relatallpropDAO,relatcompnprojtDAO,relatdescriptionpropertyDAO,relatexpfilesDAO,relatexpnatureDAO,relatfdatypropDAO,relatforegrpropertyDAO,relatperslprojtDAO,relatplandescpDAO,relatplanpropDAO,relatprgrmpropDAO,relatprojtdescpDAO,relatprojtforegrDAO,relatprojtpropDAO,statustatusDAO,reproshipService,org.springframework.scheduling.annotation.internalAsyncAnnotationProcessor,org.springframework.scheduling.annotation.internalScheduledAnnotationProcessor,myExecutor,myScheduler,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,entityManagerFactory,transactionManager]; root of factory hierarchy
5620 [main] INFO org.springframework.orm.jpa.LocalEntityManagerFactoryBean - Building JPA EntityManagerFactory for persistence unit 'MyPersistenceUnit'
5713 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.5.2-Final
5734 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.5.2-Final
5736 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
5741 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
5747 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
6216 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
6225 [main] INFO org.hibernate.ejb.Version - Hibernate EntityManager 3.5.2-Final
6875 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: de.cmt.reproship.shared.dto.PtypePartnerTypeDTO
6921 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity de.cmt.reproship.shared.dto.PtypePartnerTypeDTO on table ptype_partner_type
6973 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: de.cmt.reproship.shared.dto.PrgrmProgramDTO
6973 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity de.cmt.reproship.shared.dto.PrgrmProgramDTO on table prgrm_program
6988 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: de.cmt.reproship.shared.dto.DescpForegroundDTO
6989 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity de.cmt.reproship.shared.dto.DescpForegroundDTO on table descp_foreground
6991 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: de.cmt.reproship.shared.dto.DescpDescriptionDTO
7025 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: de.cmt.reproship.shared.dto.ContyCountryDTO
7026 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity de.cmt.reproship.shared.dto.ContyCountryDTO on table conty_country
7030 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: de.cmt.reproship.shared.dto.RelatPlanPropDTO
7315 [main] INFO org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring
7357 [main] INFO org.hibernate.validator.util.Version - Hibernate Validator 4.2.0.Final
7641 [main] INFO org.hibernate.search.Version - Hibernate Search 3.4.0.Final
7760 [main] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1484fc8d: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,compncompanyDAO,comptcompanyTypeDAO,contycountryDAO,curcycurrencyDAO,descpdescriptionDAO,descpexpfilesDAO,descpexploitationDAO,descpexpnatureDAO,descpexpstatusDAO,descpforegroundDAO,descriptionpropertyDAO,descriptiontypeDAO,fdatyfundingauthorityDAO,foregrpropertyDAO,perfnpersonalfunctionDAO,perslpersonalDAO,phasphaseDTO,planplanDAO,prgrmprogramDAO,projtprojectDAO,propdatatypesDAO,proppropertiesDAO,ptypepartnertypeDAO,ptypeplantypeDAO,relatallpropDAO,relatcompnprojtDAO,relatdescriptionpropertyDAO,relatexpfilesDAO,relatexpnatureDAO,relatfdatypropDAO,relatforegrpropertyDAO,relatperslprojtDAO,relatplandescpDAO,relatplanpropDAO,relatprgrmpropDAO,relatprojtdescpDAO,relatprojtforegrDAO,relatprojtpropDAO,statustatusDAO,reproshipService,org.springframework.scheduling.annotation.internalAsyncAnnotationProcessor,org.springframework.scheduling.annotation.internalScheduledAnnotationProcessor,myExecutor,myScheduler,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,entityManagerFactory,transactionManager]; root of factory hierarchy
7769 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler - Shutting down ExecutorService 'myScheduler'
7771 [main] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'compncompanyDAO': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: javax.persistence.EntityManagerFactory de.cmt.reproship.server.dao.CompnCompanyDAO.entityManagerFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: MyPersistenceUnit] Unable to build EntityManagerFactory
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1055)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:562)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:196)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1093)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:836)
at com.google.gwt.dev.DevMode.main(DevMode.java:311)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: javax.persistence.EntityManagerFactory de.cmt.reproship.server.dao.CompnCompanyDAO.entityManagerFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: MyPersistenceUnit] Unable to build EntityManagerFactory
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:507)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:283)
... 31 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: MyPersistenceUnit] Unable to build EntityManagerFactory
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1403)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:825)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:767)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:685)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
... 33 more
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: MyPersistenceUnit] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:896)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
at org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalEntityManagerFactoryBean.java:92)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1400)
... 43 more
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: descp_exploitation, for columns: [org.hibernate.mapping.Column(relexpnature)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:291)
感谢您的帮助!
我的课程:
package de.cmt.reproship.shared.dto;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.JoinColumn;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Table;
@Entity
@Table(name = "descp_exploitation")
public class DescpExploitationDTO implements Serializable{
/**
*
*/
private static final long serialVersionUID = -356131095078296285L;
public DescpExploitationDTO(){
}
public DescpExploitationDTO(long expID, long relcpID, long projtID, long statuID, long foregrID, String expcomment, String expplans, String expactualexp, String expsourcestatusinfo, String descpexploitationcol, ProjtProjectDTO project) {
this.expID = expID;
this.relcpID = relcpID;
this.projtID = projtID;
this.statuID = statuID;
this.foregrID = foregrID;
this.expcomment = expcomment;
this.expplans = expplans;
this.expactualexp = expactualexp;
this.expsourcestatusinfo = expsourcestatusinfo;
this.descpexploitationcol = descpexploitationcol;
this.project = project;
}
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "exp_ID")
private long expID;
@Column(name = "relcp_ID", nullable = false, length = 30)
private long relcpID;
@Column(name = "projt_ID", nullable = false, length = 30)
private long projtID;
@Column(name = "statu_ID", nullable = false, length = 30)
private long statuID;
@Column(name = "foregr_ID", nullable = false, length = 30)
private long foregrID;
@Column(name = "exp_comment", nullable = true, length = 50)
private String expcomment;
@Column(name = "exp_expplans", nullable = true, length = 8000)
private String expplans;
@Column(name = "exp_actualexp", nullable = true, length = 8000)
private String expactualexp;
@Column(name = "exp_sourcestatusinfo", nullable = true, length = 8000)
private String expsourcestatusinfo;
@Column(name = "descp_exploitationcol", nullable = true, length = 50)
private String descpexploitationcol;
@ManyToOne
@JoinColumn(name="projt_ID", insertable =false, updatable =false)
private ProjtProjectDTO project;
private Set<RelatExpNatureDTO> relexpnature = new HashSet<RelatExpNatureDTO>(0);
public long getExpID() {
return expID;
}
public void setExpID(long expID) {
this.expID = expID;
}
public long getRelcpID() {
return relcpID;
}
public void setRelcpID(long relcpID) {
this.relcpID = relcpID;
}
public long getProjtID() {
return projtID;
}
public void setProjtID(long projtID) {
this.projtID = projtID;
}
public long getStatuID() {
return statuID;
}
public void setStatuID(long statuID) {
this.statuID = statuID;
}
public long getForegrID() {
return foregrID;
}
public void setForegrID(long foregrID) {
this.foregrID = foregrID;
}
public String getExpcomment() {
return expcomment;
}
public void setExpcomment(String expcomment) {
this.expcomment = expcomment;
}
public String getExpplans() {
return expplans;
}
public void setExpplans(String expplans) {
this.expplans = expplans;
}
public String getExpactualexp() {
return expactualexp;
}
public void setExpactualexp(String expactualexp) {
this.expactualexp = expactualexp;
}
public String getExpsourcestatusinfo() {
return expsourcestatusinfo;
}
public void setExpsourcestausinfo(String expsourcestatusinfo) {
this.expsourcestatusinfo = expsourcestatusinfo;
}
public String getDescpexploitationcol() {
return descpexploitationcol;
}
public void setDescpexploitationcol(String descpexploitationcol) {
this.descpexploitationcol = descpexploitationcol;
}
public ProjtProjectDTO getProject() {
return project;
}
public void setProject(ProjtProjectDTO project) {
this.project = project;
}
@OneToMany(fetch=FetchType.LAZY, mappedBy = "pk.descpexploitationdto", cascade = CascadeType.ALL)
public Set<RelatExpNatureDTO> getRelexpnature() {
return relexpnature;
}
public void setRelexpnature(Set<RelatExpNatureDTO> relexpnature) {
this.relexpnature = relexpnature;
}
}
package de.cmt.reproship.shared.dto;
import static javax.persistence.GenerationType.IDENTITY;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name = "descp_exp_nature")
public class DescpExpNatureDTO implements Serializable{
/**
*
*/
private static final long serialVersionUID = -4753028274220167848L;
public DescpExpNatureDTO(){
}
public DescpExpNatureDTO(long expnatureID, String expnaturename){
this.expnatureID = expnatureID;
this.expnaturename = expnaturename;
}
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "nature_ID")
private long expnatureID;
@Column(name = "exp_nature_name", nullable = true, length = 150)
private String expnaturename;
private Set<RelatExpNatureDTO> relexpnature = new HashSet<RelatExpNatureDTO>(0);
public long getExpnatureID() {
return expnatureID;
}
public void setExpnatureID(long expnatureID) {
this.expnatureID = expnatureID;
}
public String getExpnaturename() {
return expnaturename;
}
public void setExpnaturename(String expnaturename) {
this.expnaturename = expnaturename;
}
@OneToMany(fetch=FetchType.LAZY, mappedBy = "pk.descpexpnaturedto", cascade = CascadeType.ALL)
public Set<RelatExpNatureDTO> getRelexpnature() {
return relexpnature;
}
public void setRelexpnature(Set<RelatExpNatureDTO> relexpnature) {
this.relexpnature = relexpnature;
}
}
}
package de.cmt.reproship.shared.dto;
import java.io.Serializable;
import javax.persistence.AssociationOverride;
import javax.persistence.AssociationOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
@Entity
@Table(name = "relat_exp_nature")
@AssociationOverrides({
@AssociationOverride(name = "pk.descpexploitationdto",
joinColumns = @JoinColumn(name = "exp_ID")),
@AssociationOverride(name = "pk.descpexpnaturedto",
joinColumns = @JoinColumn(name = "nature_ID")) })
public class RelatExpNatureDTO implements Serializable{
/**
*
*/
private static final long serialVersionUID = -6588800263746481041L;
private ExpNatureId pk = new ExpNatureId();
@Column(name = "relcp_ID", nullable = false, length = 20)
private long relcpID;
@Column(name = "projt_ID", nullable = false, length = 20)
private long projtID;
@ManyToOne
@JoinColumn(name="exp_ID", insertable =false, updatable =false)
private DescpExploitationDTO exploitations;
@ManyToOne
@JoinColumn(name="nature_ID", insertable =false, updatable =false)
private DescpExpNatureDTO nature;
public RelatExpNatureDTO(){
}
@EmbeddedId
public ExpNatureId getPk() {
return pk;
}
public void setPk(ExpNatureId pk) {
this.pk = pk;
}
@Transient
public DescpExploitationDTO getDescpExploitationDTO() {
return getPk().getDescpExploitationDTO();
}
public void setDescpExploitationDTO(DescpExploitationDTO exploitation) {
getPk().setDescpExploitationDTO(exploitation);
}
@Transient
public DescpExpNatureDTO getDescpExpNatureDTO() {
return getPk().getDescpExpNatureDTO();
}
public void setDescpExpNatureDTO(DescpExpNatureDTO expnature) {
getPk().setDescpExpNatureDTO(expnature);
}
public long getRelcpID() {
return relcpID;
}
public void setRelcpID(long relcpID) {
this.relcpID = relcpID;
}
public long getProjtID() {
return projtID;
}
public void setProjtID(long projtID) {
this.projtID = projtID;
}
public DescpExploitationDTO getExploitations() {
return exploitations;
}
public void setExploitations(DescpExploitationDTO exploitations) {
this.exploitations = exploitations;
}
public DescpExpNatureDTO getNature() {
return nature;
}
public void setNature(DescpExpNatureDTO nature) {
this.nature = nature;
}
public boolean equals(Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
RelatExpNatureDTO that = (RelatExpNatureDTO) o;
if (getPk() != null ? !getPk().equals(that.getPk())
: that.getPk() != null)
return false;
return true;
}
public int hashCode() {
return (getPk() != null ? getPk().hashCode() : 0);
}
}
package de.cmt.reproship.shared.dto;
import java.io.Serializable;
import javax.persistence.Embeddable;
import javax.persistence.ManyToOne;
@Embeddable
public class ExpNatureId implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1750980964547512826L;
private DescpExploitationDTO exploitation;
private DescpExpNatureDTO expnature;
public ExpNatureId(){
}
@ManyToOne
public DescpExploitationDTO getDescpExploitationDTO() {
return exploitation;
}
public void setDescpExploitationDTO(DescpExploitationDTO exploitation) {
this.exploitation = exploitation;
}
@ManyToOne
public DescpExpNatureDTO getDescpExpNatureDTO() {
return expnature;
}
public void setDescpExpNatureDTO(DescpExpNatureDTO expnature) {
this.expnature = expnature;
}
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ExpNatureId that = (ExpNatureId) o;
if (exploitation != null ? !exploitation.equals(that.exploitation) : that.exploitation != null) return false;
if (expnature != null ? !expnature.equals(that.expnature) : that.expnature != null)
return false;
return true;
}
public int hashCode() {
int result;
result = (exploitation != null ? exploitation.hashCode() : 0);
result = 31 * result + (expnature != null ? expnature.hashCode() : 0);
return result;
}
}
我的compncompanyDAO课程:
package de.cmt.reproship.server.dao;
import javax.annotation.PostConstruct;
import javax.persistence.EntityManagerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import de.cmt.reproship.shared.dto.CompnCompanyDTO;
@Repository("compncompanyDAO")
public class CompnCompanyDAO extends JpaDAO<Long, CompnCompanyDTO> {
@Autowired
EntityManagerFactory entityManagerFactory;
@PostConstruct
public void init() {
super.setEntityManagerFactory(entityManagerFactory);
}
}
答案 0 :(得分:0)