我創建了一個映射我的MSSQL Server 2012的訂單表的實體Bean。 到目前爲止它工作正常,但我想加入一些文章視圖中的列以提供更多信息爲選定的文章。與ForeignKeys加入列
該訂單由多個行組成,其ID爲Prime-Key,Article-Nr爲Foreign-Key。
我試圖將視圖與文章映射到文章實體,但由於行數量(> 10.000),它減緩了一切(但它的工作原理應該......非常慢......太過了沒有其他需要再映射此視圖 - 除了3行信息)。所以我只想加入訂單實體的必要欄目。
但我不明白它的工作...
我與註釋「NamedQuery」
@Entity
@NamedNativeQuery(name = "Joinnecessary",
query = "SELECT Order.PK_ID, Order.FK_OrderID, Order.FK_ArticleNr, Order.Amount,
Article.Description, Article.Price
FROM Order left outer join Article
on Order.FK_ArticleNr=Article.PK_ArticleNr",
resultClass = Order.class)
我不知道哪兒的問題是試了一下...我的記錄實體具有訂單實體列表並顯示它們。
for(orders o: orderlist){
在此行中我得到以下錯誤:
重度:無效的對象名稱 '秩序'。 線程「main」中的異常org.hibernate.exception.SQLGrammarException:無法初始化集合:[qohelet.Record.orders#1] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
在文獻中我發現了映射1:1-關係的一些有趣的東西。 (從這個角度看我的關係可以看作是這樣的),如果發現了@ SecondaryTable - 譯註這可能是我所有的問題精解:
@Table(name = "Order")
@SecondaryTable(name = "Article", pkJoinColumns = {
@PrimaryKeyJoinColumn(name = "PK_ArticleNr", referencedColumnName = "FK_ArticleNr")
})
其他列我參加這樣的:
@Column(table = "Article")
private String description;
但我想註釋「PrimaryKeyJoinColumn」未命名一樣,沒有任何理由...
初始SessionFactory的創建 failed.org.hibernate.AnnotationException:SecondaryTable JoinColumn 不能引用在螺紋非主鍵
java.lang.ExceptionInInitializerErrorException「主」
是否有擁有我想要的效果的另一個註解要得到?或者我使用當前的錯誤? 謝謝!