我有两个表作者,书籍。和Pojos,.hbm.xml,每张桌子。我写了一个选择的查询,该查询从表中给了我一些细节。
select A.id.BookNum,A.id.AuthorName,B.id.DatePublished,B.id.Price
,B.id.Condition,B.id.BookBought from Author A, Book B where
B.id.Condition == 'NEW' and A.id.BookNum = A.id.BookNum order by
A.id.AuthorName;
我得到了结果,并将其存储在arraylist中。未批准的BookList当我尝试以速度模板显示此内容时,我将无法迭代此内容。我有我的pojos作为作者,书籍的作者,分别为" getter()/setter()",分别用于授权和书籍和授权,bookid,其中包含其中的figters/setters。
public class Book implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private BookId id;
public Book (){ }
public Book (BookId id){this.id = id;}
public BookId getId(){return id;}
public void setId(BookId id) {this.id = id;}
}
和我的书架,带有getters/setters的字段,基本上是所有表列。
public class BookId implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private BookNum;
public BookId (){ }
public String getBookNumid() {return BookNum;}
public void setBookNum(String bookNum) {bookNum= bookNum;}
}
和我的HBM如下:
<hibernate-mapping>
<class name="com.bookStore.hibernate.dao.Book" table="BOOK" schema="ORG">
<composite-id name="id" class="com.bookStore.hibernate.dao.BookId">
<key-property name="BookNum" type="string">
<column name="SH_BOOK_NUM" length="17" />
</key-property>
<key-property name="DatePublished" type="date">
<column name="SH_DATE_PUB" length="13" />
</key-property>
<key-property name="Price" type="int">
<column name="SH_PRICE" length="5" />
</key-property>
<key-property name="Condition" type="string">
<column name="SH_CONDITION" length="10" />
</key-property>
<key-property name="BookBought " type="date">
<column name="SH_BOOK_BOUGHT" length="13" />
</key-property>
</composite-id>
</class>
</hibernate-mapping>
我发现,当我尝试以速度迭代和显示时,这很困难。我的代码段如下:
#foreach($unApprovedBook in $unApprovedBookList)
<input type="text" id="bookNum" value="$unApprovedBook.getId().getBookNumid()">
#set($i = $i + 1)
通过这样做,我在UI中看到 $ uneppravedbook.getId()。getBookNumid()如果我将代码更改为:
#foreach($unApprovedBook in $unApprovedBookList)
<input type="text" id="bookNum" value="$unApprovedBook">
#set($i = $i + 1)
我看到的是: [ljava.lang.object;@3160316 在UI中。请让我知道如何以速度迭代我的JavaObject。
[1]: https://i.stack.imgur.com/eBrYQ.jpg
尝试以这种方式:
您应该使用属性表达式$unApprovedBook.id.BookNum
。尝试遵循Java命名约定。
<input type="text" id="bookNum" value="${unApprovedBook.id.BookNum}">