我有个项目类: projrectvo
有个项目状态类: billstatusvo//项目类: ProjectVO
private String billno;//项目编码
private String name;//项目名称
private String billstatus;//项目状态
private BillStatusVO billstatusvo;项目状态类: Billstatusvo
private Integer statusid;//项目状态
private String statusname;//项目状态名称
private String note;//备注项目类里面的项目状态 引用 项目状态的里面的。现在就是不知道 每只many-to-one 在project里面怎么配值。
我是在要查询项目信息的时候,把项目状态表的名字现实出来,现在只是主外键关联。 请高手帮我配置下,我自己弄错了。 很郁闷.....
我叫月月姐,麻烦您了 谢谢。
有个项目状态类: billstatusvo//项目类: ProjectVO
private String billno;//项目编码
private String name;//项目名称
private String billstatus;//项目状态
private BillStatusVO billstatusvo;项目状态类: Billstatusvo
private Integer statusid;//项目状态
private String statusname;//项目状态名称
private String note;//备注项目类里面的项目状态 引用 项目状态的里面的。现在就是不知道 每只many-to-one 在project里面怎么配值。
我是在要查询项目信息的时候,把项目状态表的名字现实出来,现在只是主外键关联。 请高手帮我配置下,我自己弄错了。 很郁闷.....
我叫月月姐,麻烦您了 谢谢。
解决方案 »
- 使用Memcached后是不是就可以抛弃Hibernate二级缓存了?
- spring中c3p0程序启动初始化之后就没反应了,求助!
- 部署EJB模块报错
- 请问Spring中的动态代理是代理模式吗?急!!!
- 100分求解xfire无法调用VC 使用soap toolkit 3.0 生成的wsdl的问题
- 用户希望在多个新闻频道中发布的文章能够同时选择发布到热点新闻中显示,请给出在dotCMS上的实现步骤并给出相关的Velocity代码。
- 一个wtp开发web service的例子
- JNDI测试数据源的问题...高手帮忙!
- ★★★★★---ejb-ref-name和jndi-name--的区别★★★★★
- 一个关于weblogic8的奇怪问题
- java 界面显示数据库疑问
- jquery 显示添加input 框疑问
<many-to-one name="billstatusvo"
class="BillStatusVO类的路径" fetch="select" lazy="false">
<column name="statusid" precision="22" scale="0"
not-null="true" />
</many-to-one>
试试
org.hibernate.MappingException: Duplicate property mapping of billstatusvo found in com.chceg.vo.ProjectVO
at org.hibernate.mapping.PersistentClass.checkPropertyDuplication(PersistentClass.java:459)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:449)
at org.hibernate.mapping.RootClass.validate(RootClass.java:192)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1102)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1287)
at com.chceg.util.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
at com.chceg.dao.AbstractDAO.getSession(AbstractDAO.java:145)报了一个错误
大概是这样:项目类xml:<hibernate-mapping>
<class name="项目类"
table="项目表名" schema="数据库schema">
<id name="id" type="java.lang.Long">
<column name="id编号字段" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">项目表的序列</param>
</generator>
</id>
<many-to-one name="billstatusvo"
class="BillStatusVO类名" fetch="select" lazy="false">
<column name="statusid对应数据库字段" precision="22" scale="0"
not-null="true" />
</many-to-one>
<property name="billno" type="java.lang.String">
<column name="billno对应数据库字段" length="20" />
</property>
<property name="name" type="java.lang.String">
<column name="name对应数据库字段" length="50" />
</property>
</class>
</hibernate-mapping>状态类xml:
首先需要在状态类中加一个属性:private Set projrectvos = new HashSet(0);及get/set方法.<hibernate-mapping>
<class name="项目状态类"
table="项目状态表名" schema="数据库schema">
<id name="id" type="java.lang.Long">
<column name="id编号字段" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">项目状态表的序列</param>
</generator>
</id>
<property name="statusname" type="java.lang.String">
<column name="statusname对应数据库字段" length="50" />
</property>
<property name="note" type="java.lang.String">
<column name="note对应数据库字段" length="50" />
</property>
<set name="projrectvos" inverse="true" cascade="all">
<key>
<column name="statusid对应数据库字段" precision="22" scale="0"
not-null="true" />
</key>
<one-to-many class="项目类名" />
</set>
</class>
</hibernate-mapping>你看看适当的调整一下。。你的两个类,我都不知道id字段有没有。。也可以将statusid替换为id。。根据你自己的表的情况
Myeclipse可以自动生成
Eclipse需要自己写
class="Billstatusvo包下的类名">
<column name="projrectvo表引用billstatusvo表的外键字段" />
</many-to-one>
<column name="数据库中的字段名" />
</many-to-one>我觉得重要的是 lazy="false" 因为你想掉用Billstatusvo里面的名字而已啊 设置懒加载试下啊
Eclipse需要自己写