Sachverhalt: A. Der aus dem Kosovo stammende X._ (geb. 1981) reiste am 18. August 1990 mit seiner Mutter und einem Bruder in die Schweiz ein, wo das von der Mutter gestellte Asylgesuch abgewiesen wurde. Nachdem sich die Mutter mit einem Schweizer Bürger verheiratet hatte, erhielt X._ im Rahmen des Familiennachzugs am 12. Oktober 1993 eine Aufenthaltsbewilligung. Am 18. November 1998 wurde ihm die Niederlassungsbewilligung erteilt. X._ führt mit der serbischen Staatsangehörigen A._ (geb. 1982), welche im Kanton Neuenburg vorläufig aufgenommen ist (Ausweis F), eine Lebensgemeinschaft, aus welcher die Kinder B._ (geb. 2008) und C._ (geb. 2009) hervorgegangen sind. Während seines Aufenthalts in der Schweiz wurde X._ zu folgenden Strafen und Massnahmen verurteilt: mit Strafverfügung der Jugendanwaltschaft des Kantons Solothurn vom 11. August 1999 zur Errichtung einer Erziehungshilfe wegen Raufhandels und geringfügigen Diebstahls; mit Strafurteil des Bezirksgerichts Baden vom 15. September 2003 zu fünf Tagen Gefängnis und einer Busse von Fr. 400.-- wegen Fahrens ohne Fahrzeugausweis oder Kontrollschilder sowie ohne Haftpflichtversicherung; mit Urteil des Obergerichts des Kantons Aargau vom 7. April 2005 zu 18 Monaten Gefängnis und einer Busse von Fr. 1'000.-- wegen gewerbsmässigen Diebstahls, mehrfacher Sachbeschädigung und mehrfachen Hausfriedensbruchs sowie Entwendung zum Gebrauch; mit Strafbefehl des Bezirksamtes Aarau vom 14. August 2007 zu einer Busse von Fr. 1'000.-- wegen geringfügigen Diebstahls; mit Urteil des Obergerichts des Kantons Solothurn vom 8. April 2009 zu drei Jahren Freiheitsstrafe, einer Busse von Fr. 800.-- sowie zur Anordnung einer vollzugsbegleitenden ambulanten Behandlung wegen Freiheitsberaubung und Entführung, mehrfacher Drohung, Schändung, mehrfacher Tätlichkeiten, mehrfacher sexueller Handlungen mit einem Kind, mehrfacher Übertretung des Betäubungsmittelgesetzes, mehrfacher einfacher und grober Verkehrsregelverletzung, mehrfachen Fahrens in fahrunfähigem Zustand, Überlassens eines nicht betriebssicheren Fahrzeugs, mehrfachen Fahrens ohne Fahrzeugausweis oder Kontrollschilder, mehrfachen Fahrens ohne Haftpflichtversicherung, mehrfacher missbräuchlicher Verwendung von Ausweisen oder Kontrollschildern und mehrfachen Nichtmitführens von Ausweisen; mit Strafverfügung der Staatsanwaltschaft des Kantons Solothurn vom 21. Oktober 2009 zu 60 Tagessätzen Geldstrafe zu je Fr. 30.-- und einer Busse von Fr. 1'400.-- wegen einfacher Verkehrsregelverletzung, Führens und Überlassens eines nicht betriebssicheren Fahrzeugs, Fahrens und Fahrenlassens ohne Fahrzeugausweis, ohne Kontrollschild und ohne Haftpflichtversicherung, Nichttragens eines Schutzhelms, Hinderung einer Amtshandlung, Trunkenheit und unanständigem Benehmens; mit Strafverfügung der Staatsanwaltschaft des Kantons Solothurn vom 23. Juli 2010 zu 10 Tagessätzen Geldstrafe zu je Fr. 60.-- und einer Busse von Fr. 700.-- wegen grober Verkehrsregelverletzung; mit Strafverfügung der Staatsanwaltschaft des Kantons Solothurn vom 11. August 2010 zu einer Busse von Fr. 400.-- wegen Überschreitens der Höchstgeschwindigkeit. X._ befand sich vom 24. Oktober 2005 bis zum 23. Oktober 2006 im Strafvollzug. Seit dem 21. Juni 2010 hielt er sich in der Strafanstalt Witzwil auf, wo er am 1. März 2011 in den offenen Vollzug übertreten konnte. Am 18. Mai 2012 ist X._ bedingt aus dem Strafvollzug entlassen worden. Gegen X._ liegen zudem vier Betreibungen im Betrag von Fr. 1'912.65 sowie fünf Verlustscheine im Betrag von Fr. 3'576.05 vor. Zudem musste er von der Sozialhilfe mit insgesamt Fr. 69'759.10 unterstützt werden. B. Mit Verfügung vom 4. November 2011 widerrief das Departement des Innern des Kantons Solothurn, vertreten durch die Abteilung Migration und Schweizer Ausweise, die Niederlassungsbewilligung von X._ und wies ihn an, die Schweiz am Tag seiner Entlassung aus dem Strafvollzug zu verlassen. Zur Begründung verwies das Departement im Wesentlichen auf die von X._ verübten Straftaten. Eine von X._ hiergegen erhobene Beschwerde wies das Verwaltungsgericht des Kantons Solothurn mit Urteil vom 23. März 2012 ab. C. Mit Eingabe vom 26. April 2012 erhebt X._ Beschwerde in öffentlich-rechtlichen Angelegenheiten an das Bundesgericht. Er beantragt, das Urteil des Verwaltungsgerichts des Kantons Solothurn vom 23. März 2012 sowie die Verfügung des Departements des Innern vom 4. November 2011 betreffend Widerruf der Niederlassungsbewilligung seien aufzuheben. D. Das Verwaltungsgericht und das Departement des Innern des Kantons Solothurn beantragen, die Beschwerde abzuweisen, soweit darauf eingetreten werden könne. Das Bundesamt für Migration schliesst auf Abweisung der Beschwerde. Mit Verfügung vom 1. Mai 2012 hat der Präsident der II. öffentlich-rechtlichen Abteilung des Bundesgerichts der Beschwerde antragsgemäss die aufschiebende Wirkung zuerkannt. Am 20. Juni 2012 ersucht X._ um unentgeltliche Rechtspflege und -verbeiständung. 