Thursday 22 September 2022

java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance

 Hello All,

Today I'm sharing my learning experience, to solve the one issue while working with Springboot & Hibernate/JPA.

We often get the below error.


org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.oracle.dto.Asset
	at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:347) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final]


The solution of this issue is to explicitly save the referred data.

I've solved this issue with the below code.


Transaction tx=session.beginTransaction();
        session.save(citizen);
        for (Asset asset:citizen.getAssetList()) {
            session.save(asset);
        }
        tx.commit();

Friday 16 September 2022

SpringBoot disable all default database related configuration.

 Hi Folks,

Today, I'm sharing my working experience to disable the default springboot database related configuration.

This can be achieved via two mechanism.

Mechanism 1: Annotations

@SpringBootApplication
@EnableAutoConfiguration(exclude = {
    DataSourceAutoConfiguration.class,
    DataSourceTransactionManagerAutoConfiguration.class,
    HibernateJpaAutoConfiguration.class})
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}


Mechanism 2 : application.properties.
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration

Sunday 10 May 2020

Detect Malicious File in Java using Apache Tika

Dear Friends,

We often need to upload files in our web application/portal, and we start analyzing the risks associated with the activity.
I've been doing this over quite a certain period and realized this could be really fatal to our application, especially when you are working on a Production server in live internet.

After looking a lot over internet, Apache again came up as a savior with the API Apache Tika

At the time of writing this blog, the latest stable version  of Tika is

Maven Link

<!-- https://mvnrepository.com/artifact/org.apache.tika/tika-core -->
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-core</artifactId>
    <version>1.24</version>
</dependency>

to get results, we merely need two lines
1. to initialize tika
2. to detect tika , any inputStream or File etc (attaching the screenshot)



ex:
Tika tika=new Tika();
System.out.println("File Detect : "+tika.detect(inputStream));

result:
File Detect : image/png
File Detect : application/x-msdownload now this file is malicious even though the hacker tried uploading the file using any valid extension.

Thank You :)


Monday 16 March 2020

MySQL Transnational Log

Dear User,

Today I'm sharing my learning to how to view the transactions logs that got generated while working with MySQL.

Steps
1. Goto
C:\ProgramData\MySQL\MySQL Server 8.0\Data

2. Open File based on your machine name like




Thank You :)

Sunday 8 March 2020

Tomcat Set Custom Common Error Page

Hi Fellas,

Today I'm sharing my learning to how to set custom common Error Page in Apache Tomcat.
Question: Why it is required ?
Answer: Minimal Answer ->Infosec Team.
Elaborate Anser -> When we do not set these pages, the default Error Page gives sensitive data like Server Version.
Steps do to it.
1. Remove all of the content of webapps other than your application.war/ear files.
2. Set the custom page.

Step 1.
Take a backup of all of the content of webapps.
BackUp of webapps
to keep in same directory

Doing this step will stop exposing the default applications.
Step 2.

This Step consists of two parts

Step A.
Open conf folder under tomcat root directory, and edit web.xml
Add these XML tags before the closing of <web-app>
i.e. in between
<web-app></web-app>

  <error-page>
        <error-code>404</error-code>
         <location>/error.jsp</location>
</error-page>
<error-page>
        <error-code>403</error-code>
         <location>/error.jsp</location>
</error-page>
<error-page>
         <error-code>500</error-code>
         <location>/error.jsp</location>
</error-page>


Step B.
Create a folder ROOT under webapps.
and create a error.jsp and restart the server.

Error Page Example.





Thank You :)

Monday 24 February 2020

Spring Error: The prefix "util" for element "util:list" is not bound.

Hi Friends,

Today I'm sharing my Spring learning to how to resolve the error

The prefix "util" for element "util:list" is not bound.

Open spring.xml and add the following lines in the beans tag

xmlns:util="http://www.springframework.org/schema/util"

http://www.springframework.org/schema/util 
http://www.springframework.org/schema/util/spring-util.xsd"

screenshot example:

Tuesday 13 November 2018

Redirect JBoss on Default HTTPS Port 443

Hi Folks,

Today I'm sharing my learning, how to redirect JBoss on port 443 i.e. default https Port.
For this first you have to enable https on JBoss, I've already shared the post please go through the Enable Https in JBoss.

Later open the standalone.xml and do a small change

Change this tag <socket-binding name="https" port="8443"/>

to <socket-binding name="https" port="443"/>.



restart the server and see the changes.



thank you :)

A Guide to Installing Oracle HR Schema on an Existing Docker Container

  Hi Reader, Today I want to share my learning on how to install Oracle HR schema on a existing docker container. Step 1: Download the verif...