JSF + Hibernate h:DataTable - generuje puste pola

0

Witam,

ucze się JSF+Hibernate i mam problem z uzyskaniem rekordów z DB do h:dataTable. Otóż zaimportowałem do DB dane z pliku .csv - dane w tabeli istnieją, następnie dodałem kilka testowych wpisów.
Kiedy próbuje te wszystkie dane wyświetlić za pomocą dataTable niestety te dane, które były importowane zostawiają puste kolumny, natomiast te które sam ręcznie dodałem - są wyświetlane.
Nie rozumiem gdzie może być problem, a wygląda to tak:
user image

Tak wygląda moj plik .xhtml gdzie te dane wyświetlam:

 
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui">

<h:head>
	<title>Test - Get from db</title>
</h:head>
<body>
	<h:form>
		<h:button id="backToIndex" value="Back To Index" outcome="index" />

		<h:dataTable value="#{activityLogM.activityLogList}" var="actLog"
			border="1" styleClass="order-table" headerClass="order-table-header"
			rowClasses="order-table-odd-row,order-table-even-row">

			<h:column>
				<f:facet name="header">
					<h:outputText value="a_id" />
				</f:facet>
				<h:outputText value="#{actLog.a_id}" />
			</h:column>
			
                            .........

		</h:dataTable>

	</h:form>
</body>
</html>

Taka metoda odpowiada za pobranie tych danych, jest to getter dla pola listy: activityLogList

 
public List< ActivityLog > getActivityLogList() {
	Session session = HibernateUtil.getSessionFactory().openSession();
	this.activityLogList = session.createCriteria( ActivityLog.class ).list();
	return activityLogList;
}

Naturalnie activityLogM jest zarejestrowane w faces-config.xml

Chciałbym wiedzieć co robię zle i jak to naprawić, będę wdzięczny za pomoc.

0

Za mało kodu pokazałeś. Przydałaby się klasa encji i DDL tabeli. Czemu masz te same wartości w kolumnie id? to chyba nie jest klucz główny?. W logach nie ma żadnych informacji?
Możesz spróbować wyłączyć keszowanie (na czas deweloperki) poprzez:

<shared-cache-mode>NONE</shared-cache-mode>

w persistence.xml.

0

Są tam wyłącznie settery/gettery generowane automatycznie stad wydaje mi sie, że problem leży gdzie indziej. DB ma te same pola - nazwy rowniez identyczne kolumn oraz typy.
Wartosci sam takie same bo tak po prostu wstawilem klikajac szybko na formularzu, ale właśnie wszystko co sam wysyłam z formularza się pokazuje, "kopiuj wklej" z csv do formularza działa ale same dane zaimportowane do bazy już nie. Wrzucenie czegoś z poziomu sql'a też wyświetla te dane w xhtml. A jeżeli pytasz o samo pole "id" to jego w .xhtml nie wyświetlam, w DB jest to PK generowany automatycznie, to są tylko wybrane kolumny.

Jeśli jednak przyda się więcej kodu wtedy wstawie.

0

Byłby ktoś w stanie pomóc?

1 użytkowników online, w tym zalogowanych: 0, gości: 1