Restrictions.eq do hibernate aplicado em um campo String (varchar no banco) é considerado case sensitive ou insensitive?
Sensitive. O eq irá comparar se o conteúdo da string é fidedignamente idêntico ao da coluna pesquisada. Isso quer dizer que se a String for enviada como “StRingDeTesTe” e não houver nada tão “miguxo” na coluna que está sendo analisada, não será retornado nenhum valor, de acordo com este parâmetro.
Agora estou confuso… o curioso é que eu estou fazendo uns testes aki fazendo a busca por apenas um campo varchar (string) e ele esta me retornando resultado independente se busco por letras maiúsculas ou minúsculas.
Com Restrictions.eq?
Se fosse Restrictions.like até pode ser.
Se você fosse montar o sql “no braço” seria assim
SELECT * FROM QLQ_TABELA WHERE COLUNA = 'VALOR'
Ou
SELECT * FROM QLQ_TABELA WHERE COLUNA LIKE 'VALOR'
Sei q eu poderia utilizar o like para case sensitive ou ilike para insensitive. Mas queria mesmo é entender direito pq este eq está se comportando como insensitive.
Sei q eu poderia utilizar o like para case sensitive ou ilike para insensitive. Mas queria mesmo é entender direito pq este eq está se comportando como insensitive.
inclusive poderia fazer assim para insensitive com eq
pq diabos sem ignoreCase esta se comportando como tal?
Bem, aí já entramos nos méritos do Hibernate…
Eu gosto de informática por que é a ciência exata mais inexata que existe. Até mais que a física quântica.
Mas acho que isso vai depender também do banco de dados.
Se você usar uma banco de dados Sensitive, dai vai fazer diferença, mas um banco como MySql que não é Sensitive, não faz diferença se você usar o método ignoreCase() ou não.
[quote=romarcio]Mas acho que isso vai depender também do banco de dados.
Se você usar uma banco de dados Sensitive, dai vai fazer diferença, mas um banco como MySql que não é Sensitive, não faz diferença se você usar o método ignoreCase() ou não.[/quote]
Não tinha pensado nisso. Faz todo sentido.
Estou utilizando SQL Server. Este banco então não é sensitive?
Sobre o SQL Server não sei nada, nunca utilizei ele, mas com certeza no google deve ter algo sobre isso.