Zapytanie z klauzulą distinct

0

W projekcie wykorzystuje technologie spring mvc i ajax. Po wyjęciu danych z bazy danych i wysłaniu ich na stronę zamiast danych z bazy ukazuję się

undefined

Pytanie brzmi czy dobrze jest utworzone zapytanie sql ?

public List<TabelaTestowa> findDistinctColumn() {

		return em.createQuery(
				"SELECT DISTINCT c.kolumna1 FROM TabelaTestowa c")
				.getResultList();
				
	} 
 @RequestMapping(value="/listjson",method=RequestMethod.GET)
	public @ResponseBody List<TabelaTestowa> listJson(/*HttpServletRequest request*/)
	{
		return dao.findDistinctColumn();
	}
$.ajax({
	type : 'GET',
	header : {
	Accept:"application/json; charset=utf-8",
	"Content-Type":"application/json; charset=UTF-8"
	},
	/* data: "id=" + id, */
	url : '/interview/spring/listjson',
	success : function(data){
	var result= "";
	for(var i=0;i<data.length;i++)
	result+="<br>"+data[i].kolumna1+' - '+data[i].kolumna2;
	$('.result').html(result);
			}
		});
	}); 
@Entity
@Table(name="tabela_testowa")
@NamedQuery(name="TabelaTestowa.findAll", query="SELECT t FROM TabelaTestowa t")
public class TabelaTestowa implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private Long id;

	private String kolumna1;

	private String kolumna2;

	private String kolumna3;

	private Long kolumna4;
 
0

zamiast

@NamedQuery(name="TabelaTestowa.findAll", query="SELECT t FROM TabelaTestowa t")

chciales chyba dac @NamedQuery(name="TabelaTestowa.findAll", query="SELECT * FROM TabelaTestowa t")

 nie?
0

Ja miałem gotową bazę danych, więc zastosowałem reverse engeneering i model samo mi stworzyło. Nic tam nie modyfikowałem.

0
katelx napisał(a):

zamiast

@NamedQuery(name="TabelaTestowa.findAll", query="SELECT t FROM TabelaTestowa t")

chciales chyba dac @NamedQuery(name="TabelaTestowa.findAll", query="SELECT * FROM TabelaTestowa t")

 nie?


to named nie native named, jest dobrze
1
ntw222 napisał(a):

W projekcie wykorzystuje technologie spring mvc i ajax. Po wyjęciu danych z bazy danych i wysłaniu ich na stronę zamiast danych z bazy ukazuję się

undefined

Pytanie brzmi czy dobrze jest utworzone zapytanie sql ?

public List<TabelaTestowa> findDistinctColumn() {

		return em.createQuery(
				"SELECT DISTINCT c.kolumna1 FROM TabelaTestowa c")
				.getResultList();
				
	} 

no to robisz dobrze named query, ale to nie jest wynik typu TabelaTestowa tylko pewnie jakis String, czy co tam masz

0

Racja, dzieki

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