テーブルに新しい行を追加するなど、データベース (SQL Server) に直接変更を加えると、変更は Web アプリに反映されません (ブラウザーを更新しようとしました)。 )。
アプリから行を追加すると、データベース管理者にすぐに表示されますが、その逆は機能しません。
これは私のpersitence.xmlファイルです:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="Frutemu" transaction-type="RESOURCE_LOCAL">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<jta-data-source>openjpa</jta-data-source>
<class>model2.AnalisisProcesosEntity</class>
<class>model2.AnalisisProcesosDetalleEntity</class>
<class>model2.AnalisisProcesosPesosEntity</class>
<class>model2.AnalisisRecepcionesEntity</class>
<class>model2.AnalisisRecepcionesDetallesEntity</class>
<class>model2.CalibresEntity</class>
<class>model2.CalidadDefectosEntity</class>
<class>model2.CalidadesEntity</class>
<class>model2.CamarasEntity</class>
<class>model2.DespachosEntity</class>
<class>model2.DespachosDetalleEntity</class>
<class>model2.EspeciesEntity</class>
<class>model2.ExportadorasEntity</class>
<class>model2.InspeccionesEntity</class>
<class>model2.InspeccionesDespachosEntity</class>
<class>model2.InspeccionesDespachosDetalleEntity</class>
<class>model2.InspeccionesDetalleEntity</class>
<class>model2.InspeccionesPalletsEntity</class>
<class>model2.InspeccionesPalletsDetalleEntity</class>
<class>model2.InspeccionesResultadoEntity</class>
<class>model2.PalletsEntity</class>
<class>model2.PalletsDetalleEntity</class>
<class>model2.PlantasEntity</class>
<class>model2.PlantasEmbalajeEntity</class>
<class>model2.ProcesosEntity</class>
<class>model2.ProcesosDetalleEntity</class>
<class>model2.ProductoresEntity</class>
<class>model2.ProductoresExportadorasEntity</class>
<class>model2.RecepcionesEntity</class>
<class>model2.RecepcionesDetalleEntity</class>
<class>model2.SysdiagramsEntity</class>
<class>model2.TemporadasEntity</class>
<class>model2.TiposEmbalajeEntity</class>
<class>model2.TiposProductoEntity</class>
<class>model2.UsuariosEntity</class>
<class>model2.VariedadesEntity</class>
<class>model2.VistaProcesosEntity</class>
<class>model2.VistaRecepcionesEntity</class>
<properties>
<property name="openjpa.ConnectionDriverName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="openjpa.ConnectionURL" value="jdbc:sqlserver://localhost:55334;databaseName=Frutemu;integratedSecurity=true"/>
<property name="openjpa.ConnectionUserName" value=""/>
<property name="openjpa.ConnectionPassword" value=""/>
<property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(SchemaAction='add,OpenJPATables=true',ForeignKeys=true)"/>
<!--property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(SchemaAction='add,OpenJPATables=true',ForeignKeys=true)"/-->
<property name="openjpa.DynamicEnhancementAgent" value="true"/>
<property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=ERROR"/>
<property name="openjpa.ConnectionFactoryProperties" value="PrettyPrint=true, PrettyPrintLineLength=72, PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=60000"/>
<property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.MySQLDictionary"/>
<property name="openjpa.DataCache" value="true"/>
<property name="openjpa.QueryCache" value="true"/>
</properties>
</persistence-unit>
</persistence>
これは、ビューに表示するデータを取得する Bean です。
@ManagedBean(name = "recepciones")
@ViewScoped
public class RecepcionesBean {
private List<VistaRecepcionesEntity> recepciones;
@PostConstruct
public void init(){
recepciones=new ArrayList<VistaRecepcionesEntity>();
recepciones= RecepcionesDAO.getALL();
}
public List<VistaRecepcionesEntity> getRecepciones() {
return recepciones;
}
public void setRecepciones(List<VistaRecepcionesEntity> recepciones) {
this.recepciones = recepciones;
}
}
}