Zapytanie z klauzulą distinct

Zapytanie z klauzulą distinct
N2
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 23 godziny
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ę

Kopiuj
undefined

Pytanie brzmi czy dobrze jest utworzone zapytanie sql ?

Kopiuj
public List<TabelaTestowa> findDistinctColumn() {

		return em.createQuery(
				"SELECT DISTINCT c.kolumna1 FROM TabelaTestowa c")
				.getResultList();
				
	} 
Kopiuj
 @RequestMapping(value="/listjson",method=RequestMethod.GET)
	public @ResponseBody List<TabelaTestowa> listJson(/*HttpServletRequest request*/)
	{
		return dao.findDistinctColumn();
	}
Kopiuj
$.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);
			}
		});
	}); 
Kopiuj
@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;
 
katelx
  • Rejestracja:około 10 lat
  • Ostatnio:5 miesięcy
  • Lokalizacja:Hong Kong
0

zamiast

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

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

Kopiuj
 nie?
N2
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 23 godziny
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

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

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

Kopiuj
 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ę

Kopiuj
undefined

Pytanie brzmi czy dobrze jest utworzone zapytanie sql ?

Kopiuj
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

N2
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 23 godziny
0

Racja, dzieki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.