0

我有两张桌子;

 "Street_id", "StreetName", "description"

并且路径

 "path_id", "pathDescription", "path_name"

还有一张桌子,

街道路径

  "path_id", "Street_id"

现在我想在这些表之间创建一个关系,这样当从Street删除记录时,来自Street-path 的记录也将被删除,但它们不能有直接关系。只有StreetPath可以有直接关系,Path中的记录应该保持完整。

如何在休眠中做到这一点?

PS:我使用的是xml,而不是hibernate映射的注释。

4

2 回答 2

0

您可以使用本教程:休眠映射

于 2013-04-18T11:01:11.433 回答
0

您可以使用标准 api。您实际上不需要任何关系,您只需要 street_id 并且您已经拥有它。你可以试试这个;

public void removeStreet(Street street) //this reference is an instance 
{                                       //of Street entity that you want to remove
   session.clear();
   session.delete(street);
   session.flush();

   StreetPath streetPath = new StreetPath(); //create new instance of StreetPath entity
   streetPath.setStreetId(street.getId());   //with id of deleted row of Street table  

   session.clear();
   session.delete(streetPath);
   session.flush();
}

我希望这会有所帮助。

于 2013-04-18T10:52:30.903 回答