Derby数据库是否可以包含具有不同列数的行?

时间:2014-04-01 19:43:08

标签: java tomcat derby

即,如果需要从我的Web应用程序的JSP页面开始,我想为特定用户动态创建额外的列 - 这是可能的,还是有其他方法可以实现相同的目标?

2 个答案:

答案 0 :(得分:0)

  1. Hibernate允许您动态创建提供的数据库表 你知道行和列
  2. 如果你不想添加它并仍然保持简单和甜蜜使用“<%scriptlet%>”包含Java代码的jsp中的代码,用于创建或修改表
  3. 您可以使用Struts / JSF / Spring标记来代替使用scriplet,以获得更清晰的代码

答案 1 :(得分:0)

简短的回答是否定的。表中的每一行必须具有相同的列数。

如果列没有适用的值,通常会插入NULL(SQL NULL与Java null不同)。或者,您可以更改数据模型并将可选值放在不同的表中,并在想要读取可选列时使用连接。

最后,您还可以在Java对象中表示可选信息并将其序列化为存储在表中的Blob,但我会提醒您不要使用此方法,因为它会阻止您查询Blob中的值以及如果Blob对象的格式发生更改,则会出现升级问题。