@Entity
public class EmailAndName {
...
}
和
@Entity
public class MessageDetails {
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "MessageDetails_to")
public Set<EmailAndName> getTo() {
return to;
}
}
不填充我
public static void main(String []a)
{
StatelessSession sess = HibernateUtils.getSessionFactory().openStatelessSession();
sess.beginTransaction();
MessageDetails messageDetails = new MessageDetails();
messageDetails.setTo(new HashSet<EmailAndName>());
EmailAndName emailAndName = (EmailAndName) sess.get(EmailAndName.class, 1L);
if (emailAndName == null) throw new RuntimeException();
messageDetails.getTo().add(emailAndName);
sess.insert(messageDetails);
sess.getTransaction().commit();
}
MessageDetails_to表時。我該怎麼辦?我不想編寫原生查詢。謝謝。
能詳細提供表結構? –
我知道你說過你不想寫本地查詢,但是我發現在無狀態會話中填充多對多關聯表的唯一方法(從而從無狀態會話的速度中受益)。即'sess.CreateSQLQuery(「插入到MessageDetails_to(...)值(:id1,id2).SetParameter ...等」 –