Java org.hibernate.MappingException:无法确定的类型:

Java org.hibernate.MappingException:无法确定的类型:,java,hibernate,Java,Hibernate,@实体 @表(name=“WEAVER\u PAGAR”) 公共课周weaverpagarform{ @Id@GeneratedValue(策略=GenerationType.AUTO) 私营企业; @时态(javax.persistence.TemporalType.DATE) 私人日期fromDate; @时态(javax.persistence.TemporalType.DATE) 今天的私人约会; @奥内托内 @JoinColumn(name=“weaverId”) 私人纺织工; @元素

@实体
@表(name=“WEAVER\u PAGAR”)
公共课周weaverpagarform{
@Id@GeneratedValue(策略=GenerationType.AUTO)
私营企业;
@时态(javax.persistence.TemporalType.DATE)
私人日期fromDate;
@时态(javax.persistence.TemporalType.DATE)
今天的私人约会;
@奥内托内
@JoinColumn(name=“weaverId”)
私人纺织工;
@元素集合
@可接合(name=“TAKA_详细信息”)
@通用生成器(name=“hilo.gen”,strategy=“hilo”)
@CollectionId(columns={@Column(name=“ID”)},generator=“hilo.gen”,type=@type(type=“long”))
private Collection takaDetails=new ArrayList();
。。。

我得到的错误是:

    @Entity
    @Table (name="WEAVER_PAGAR")
    public class WeeklyWeaverPagarForm {

       @Id @GeneratedValue(strategy = GenerationType.AUTO)
private int pagarId;
@Temporal(javax.persistence.TemporalType.DATE)
private Date fromDate;
@Temporal(javax.persistence.TemporalType.DATE)
private Date toDate;

@OneToOne
@JoinColumn(name = "weaverId")
private WeaverDetailsForm weaver;

@ElementCollection
@JoinTable(name="TAKA_DETAILS")
@GenericGenerator(name="hilo.gen" ,strategy="hilo")
@CollectionId(columns={@Column(name="ID")},generator="hilo.gen", type=@Type(type="long"))
private Collection<WeaverPagarDetails> takaDetails = new ArrayList();
org.hibernate.MappingException:无法确定以下列的类型:[org.hibernate.mapping.Column(quality)]
位于org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:314)
位于org.hibernate.tuple.PropertyFactory.buildStandardProperty(PropertyFactory.java:240)
位于org.hibernate.tuple.component.ComponentMetamodel。(ComponentMetamodel.java:70)
位于org.hibernate.mapping.Component.getType(Component.java:172)
位于org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:292)
位于org.hibernate.mapping.Collection.validate(Collection.java:313)
位于org.hibernate.mapping.IdentifierCollection.validate(IdentifierCollection.java:68)
位于org.hibernate.cfg.Configuration.validate(Configuration.java:1331)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1789)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1868)
位于textileAutomation.java.actions.SessionFactoryGen.getInstance(SessionFactoryGen.java:25)
在textileAutomation.java.actions.WeaverActions.(WeaverActions.java:29)
在textileautomation.java.begin.TextileFrame.initCompData(TextileFrame.java:73)
在textileautomation.java.begin.TextileFrame.(TextileFrame.java:43)
位于textileautomation.java.begin.TextileFrame$19.run(TextileFrame.java:1392)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)中
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
在java.awt.EventQueue.access$200(EventQueue.java:103)
在java.awt.EventQueue$3.run(EventQueue.java:688)
在java.awt.EventQueue$3.run(EventQueue.java:686)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:161)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:150)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

我不熟悉hibernate,我想知道注释@JoinColumn是否可以在@Embeddeble类中使用。看来您缺少hibernate和
javax.persistence
注释

org.hibernate.mapping.Column
应该是
javax.persistence.Column
,检查代码的导入部分

回答您的问题JoinColumn可用于嵌入式系统答案是肯定的,但JoinColumn通常与关系注释一起使用,如:OneToOne或ManyToOne,但返回问题,是的,您可以在嵌入式系统中拥有关系

更新

org.hibernate.MappingException: Could not determine type for: textileautomate.java.form.FabricQualityDetailsForm, at table: TAKA_DETAILS, for columns: [org.hibernate.mapping.Column(quality)]
    at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:314)
    at org.hibernate.tuple.PropertyFactory.buildStandardProperty(PropertyFactory.java:240)
    at org.hibernate.tuple.component.ComponentMetamodel.<init>(ComponentMetamodel.java:70)
    at org.hibernate.mapping.Component.getType(Component.java:172)
    at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:292)
    at org.hibernate.mapping.Collection.validate(Collection.java:313)
    at org.hibernate.mapping.IdentifierCollection.validate(IdentifierCollection.java:68)
    at org.hibernate.cfg.Configuration.validate(Configuration.java:1331)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1789)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1868)
    at textileautomate.java.actions.SessionFactoryGen.getInstance(SessionFactoryGen.java:25)
    at textileautomate.java.actions.WeaverActions.<init>(WeaverActions.java:29)
    at textileautomate.java.begin.TextileFrame.initCompData(TextileFrame.java:73)
    at textileautomate.java.begin.TextileFrame.<init>(TextileFrame.java:43)
    at textileautomate.java.begin.TextileFrame$19.run(TextileFrame.java:1392)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
@ElementCollection
@可接合(name=“TAKA_详细信息”)
@通用生成器(name=“hilo.gen”,strategy=“hilo”)
@CollectionId(columns={@Column(name=“ID”)},generator=“hilo.gen”,type=@type(type=“long”))
private Collection takaDetails=new ArrayList();
应该是

@ElementCollection
@JoinTable(name="TAKA_DETAILS")
@GenericGenerator(name="hilo.gen" ,strategy="hilo")
@CollectionId(columns={@Column(name="ID")},generator="hilo.gen", type=@Type(type="long"))
private Collection<WeaverPagarDetails> takaDetails = new ArrayList();
@ElementCollection
@收集表(name=“TAKA_详细信息”)
@通用生成器(name=“hilo.gen”,strategy=“hilo”)
@CollectionId(columns={@Column(name=“ID”)},generator=“hilo.gen”,type=@type(type=“long”))
private Collection takaDetails=new ArrayList();

当您使用
@ElementCollection
时,您应该使用
@CollectionTable
而不是
@JoinTable
,试试看。

我已经检查了导入部分,并且正在使用javax.persistence.Column。我还没有找出原因。
@ElementCollection
@JoinTable(name="TAKA_DETAILS")
@GenericGenerator(name="hilo.gen" ,strategy="hilo")
@CollectionId(columns={@Column(name="ID")},generator="hilo.gen", type=@Type(type="long"))
private Collection<WeaverPagarDetails> takaDetails = new ArrayList();
@ElementCollection
@CollectionTable(name="TAKA_DETAILS")
@GenericGenerator(name="hilo.gen" ,strategy="hilo")
@CollectionId(columns={@Column(name="ID")},generator="hilo.gen", type=@Type(type="long"))
private Collection<WeaverPagarDetails> takaDetails = new ArrayList<WeaverPagarDetails>();